﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

/// <summary>
/// Summary description for PropuestaEmpleado
/// </summary>

public class PropuestaEmpleado
{
    private PairIdComponent _id;
    private Empleado _empleado;
    private Propuesta _propuesta;

    public PropuestaEmpleado()
    {

    }

    public PropuestaEmpleado(Empleado empleado, Propuesta propuesta)
    {
        PairIdComponent pairId = new PairIdComponent();
        pairId.Key1 = empleado.Id;
        pairId.Key2 = propuesta.Id;
        this._id = pairId;
    }

    public virtual PairIdComponent Id
    {
        get
        {
            return _id;
        }
        set
        {
            _id = value;
        }
    }

    public virtual Empleado Empleado
    {
        get
        {
            return _empleado;
        }
        set
        {
            _empleado = value;
        }
    }

    public virtual Propuesta Propuesta
    {
        get
        {
            return _propuesta;
        }
        set
        {
            _propuesta = value;
        }
    }

    protected bool Equals(PropuestaEmpleado entity)
    {
        if (entity == null) return false;
        if (!base.Equals(entity)) return false;
        if (!Equals(_id, entity._id)) return false;
        return true;
    }

    public override bool Equals(object obj)
    {
        if (ReferenceEquals(this, obj)) return true;
        return Equals(obj as PropuestaEmpleado);
    }

    public override int GetHashCode()
    {
        int result = base.GetHashCode();
        result = 29 * result + _id.GetHashCode();
        return result;
    }
}
